// test_xrt1553B.c
#include "unity.h"
#include "xrt1553B.h"

// If the function is static, you might need to declare it here or use a different approach
// For this example, I'm assuming it's accessible from the header
// If it's static, you might need to include the .c file directly or use a #define trick

void setUp(void)
{
    // Set up code before each test (if needed)
}

void tearDown(void)
{
    // Clean up code after each test (if needed)
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_0_expect_0(void)
{
    TEST_ASSERT_EQUAL_UINT32(0, datalenth_2_MM_mode(0));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_32_expect_0(void)
{
    TEST_ASSERT_EQUAL_UINT32(0, datalenth_2_MM_mode(32));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_64_expect_0(void)
{
    TEST_ASSERT_EQUAL_UINT32(0, datalenth_2_MM_mode(64));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_65_expect_1(void)
{
    TEST_ASSERT_EQUAL_UINT32(1, datalenth_2_MM_mode(65));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_128_expect_1(void)
{
    TEST_ASSERT_EQUAL_UINT32(1, datalenth_2_MM_mode(128));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_256_expect_1(void)
{
    TEST_ASSERT_EQUAL_UINT32(1, datalenth_2_MM_mode(256));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_257_expect_2(void)
{
    TEST_ASSERT_EQUAL_UINT32(2, datalenth_2_MM_mode(257));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_384_expect_2(void)
{
    TEST_ASSERT_EQUAL_UINT32(2, datalenth_2_MM_mode(384));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_512_expect_2(void)
{
    TEST_ASSERT_EQUAL_UINT32(2, datalenth_2_MM_mode(512));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_513_expect_3(void)
{
    TEST_ASSERT_EQUAL_UINT32(3, datalenth_2_MM_mode(513));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_768_expect_3(void)
{
    TEST_ASSERT_EQUAL_UINT32(3, datalenth_2_MM_mode(768));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_1024_expect_3(void)
{
    TEST_ASSERT_EQUAL_UINT32(3, datalenth_2_MM_mode(1024));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_1025_expect_4(void)
{
    TEST_ASSERT_EQUAL_UINT32(4, datalenth_2_MM_mode(1025));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_1536_expect_4(void)
{
    TEST_ASSERT_EQUAL_UINT32(4, datalenth_2_MM_mode(1536));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_2048_expect_4(void)
{
    TEST_ASSERT_EQUAL_UINT32(4, datalenth_2_MM_mode(2048));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_2049_expect_0(void)
{
    TEST_ASSERT_EQUAL_UINT32(0, datalenth_2_MM_mode(2049));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_4096_expect_0(void)
{
    TEST_ASSERT_EQUAL_UINT32(0, datalenth_2_MM_mode(4096));
}

void test_datalenth_2_MM_mode_when_valid_data_bytes_is_max_uint32_expect_0(void)
{
    TEST_ASSERT_EQUAL_UINT32(0, datalenth_2_MM_mode(UINT32_MAX));
}